<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
  <link rel="stylesheet" href="./bootstrap/css/bootstrap.css" />
  <style>
    .panel {
      width: 900px;
      margin: 10px auto;
    }

    .table img {
      width: 40px;
      height: 40px;
    }
  </style>
</head>

<body>
  <div class="container">
    <div class="panel panel-primary">
      <!-- Default panel contents -->
      <div class="panel-heading">英雄列表管理</div>
      <div class="panel-body">
        <!-- 存放的搜索区域 -->
        <form action="" autocomplete="off">
          <div class="row">
            <div class="col-lg-3">
              <input type="text" class="form-control" placeholder="输入英雄名称" name="name" />
            </div>
            <div class="col-lg-3">
              <select class="form-control" name="gender">
                <option value="">--选择性别--</option>
                <option value="男">男</option>
                <option value="女">女</option>
              </select>
            </div>
            <div class="col-lg-3">
              <input name="age" type="text" class="form-control" placeholder="输入年龄" />
            </div>
            <div class="col-lg-3">
              <button type="button" class="btn btn-success" id="search">
                搜索
              </button>
              <button type="button" class="btn btn-warning" id="reset">
                重置
              </button>
            </div>
          </div>
        </form>
      </div>
      <table class="table table-bordered table-striped">
        <thead>
          <tr>
            <th>编号</th>
            <th>英雄名称</th>
            <th>英雄性别</th>
            <th>年龄</th>
            <th>操作区</th>
          </tr>
        </thead>
        <tbody id="tbody">
          <tr>
            <td>1</td>
            <td>大乔</td>
            <td>女</td>
            <td>18</td>
            <td>
              <button type="button" class="btn btn-danger">删除</button>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
  <script>
    // 数据可以自己添加
    const list = [
      { id: 1, name: "大乔", gender: "男", age: 18 },
      { id: 2, name: "小乔", gender: "女", age: 20 },
      { id: 3, name: "鲁班", gender: "男", age: 48 },
      { id: 4, name: "后羿", gender: "女", age: 28 },
    ]
 //1. 根据提供的数组实现页面渲染
 function render(list) {
      const strArr = list.map((ele, index) => {
        const { name, gender, age } = ele
        return `
            <tr>
              <td>${index + 1}</td>
              <td>${name}</td>
              <td>${gender}</td>
              <td>${age}</td>
              <td>
                 <button type="button" class="btn btn-danger">删除</button>
              </td>
            </tr>
      `
      })
      document.querySelector(`#tbody`).innerHTML = strArr.join('')
    }
    render(list)

    // 2. 实现点击删除功能
    
    tbody.addEventListener(`click`, function (e) {
      const target = e.target
      if (target.classList.contains("delete-btn")) {
        if (!confirm("您确定删除吗")) return
        const { index } = target.dataset
        list.splice(index, 1)
        render(list)
      }
    })

    //3. 实现输入英雄名称、性别、年龄 搜索功能
    const warning=document.querySelector(`.btn-warning`)
    const name=document.querySelector(`[name=name]`)
    const gender=document.querySelector(`[name=gender]`)
    const age=document.querySelector(`[name=age]`)

    const search=document.querySelector(`#search`)
    // 
    search.addEventListener(`click`,function () {
      const nameValue=name.value.trim()
      const genderValue=gender.value.trim()
      const ageValue=age.value.trim()
      
      //重建数组渲染页面
      const newArr=list.filter(ele=>{
         const name1=nameValue===``||nameValue===ele.name
         const gender1=genderValue===``||genderValue===ele.gender
         //注意年龄问题
         const age1=ageValue===``||+ageValue===ele.age
         return name1&&gender1&&age1
      })
      render(newArr)
    })





    //4.重置功能
    
    // console.log(warning)

    //设置在点击重置的情况下，所有表格内容为空
    warning.addEventListener(`click`,function () {
      name.value=``
      gender.value=``
      age.value=``
      render(list)
    })

  </script>
</body>

</html>